WordPressでカテゴリ別タグクラウド表示するにはどうしたらいいのかな?
相変わらず混沌としたまとまりのない中を突き進むSiSO-LABですが、少しでも見やすいサイトになるよう、カテゴリ別表示機能を強化する工夫をしています。新着記事、人気記事に続き、タグクラウドを表示する方法を検討開始しました。
あこがれのタグクラウド
タグクラウド表示ってかっこいい!(と思う)
タグクラウドというと、キーワードが並んでいて何やら大きく表示されてるキーワードと小さい表示されているキーワードがあり、SiSO的には古い(けど最近も映画化されている)某アニメを連想してしまいます。
カテゴリとタグの使い分け
各記事にはカテゴリとタグというキーワードを付けることができます。タグクラウド表示はタグを表示するものですが(設定でカテゴリもできます)、たくさんの記事に設定されているタグは大きく、そうでないタグは小さく表示するようになっており、ブログ内容の傾向を表現することができます。
この、カテゴリとタグですが、よく似た記事属性管理機能なので、どのように使うのかは悩みどころなのですが、SiSO-LABでは、カテゴリ=ジャンル、タグ=関連キーワードのような使い方で考えています。
料理でいえば、「カテゴリ=料理の種類」、「タグ=食材」という感じでしょうか。
あ、最近、そうしようかな?と思い始めたばかりなので、段階的に整理中です。なかなかうまくいかず、カテゴリの小分類っぽい感じのほうが強くなってしまうのが本音のところ。
カテゴリを意識したサイトを作り込み中
ブログの内容が発散してもそこそこの見やすさを保つための解決方法として、サイトをサブドメインで分けるという方法があります。しかし、どうせやるなら総合サイト+子サイトみたいなサイトがいいなと思いつつ、まだスキルが足らなくて作り方がわからず現在に至ります。
そんなわけで、これまでカテゴリによって分けられた表示を意識してカスタマイズしてきました。
タグクラウド表示機能、WordPressに移行する前はとても憧れていたのですが、ごく最近まで実装していませんでした。理由は、2つあります。
1つは、引越前のブログシステムにはタグが無く、WordPressに移行した時はまだタグを設定していなかったことです。
もう1つは最近の話ですが、SiSO-LAB内、イマイチ方向性が無くてジャンルが多く、タグを付け始めたらタグもどんどん増えてしまい、よけいに見辛いサイトになってしまうのではないか?という心配からです。
カテゴリ別タグクラウド機能をサイドバーへ実装するには?
というわけで、扱うジャンルが広がってタグが増えすぎてしまっても見やすいサイトを目指そう!という志のもと、再び奮起してPHPコードを書くことにしました。
例によってプラグイン無しの方向で♪
「プラグイン無しでゴリゴリと!」というとカッコイイですが、単にちょうどいい感じのプラグインが無かっただけです。あれば使ったかもしれません。でも、なんとなく目途は付いてきました。
カテゴリ別タグクラウド表示を実装する方法をネットで探していたところ、WordPressのフォーラムで以下の情報がありました。
WordPress › フォーラム » 各カテゴリにタグクラウド
なんかSQLを直接実行しているのかな?理解できる部分とできない部分があったりしますが、上記のフォーラム記事で呼び出し側のコードもアップしてくださっているので、なんとかなりそうです。
親カテゴリに属するタグだけ表示してみるかな
ソースコードを見ていくと、どうもSQLのところで「cat=n」という文字列を渡してタグキーワードを抽出しているのかな?複数カテゴリある場合、恐らくこの部分を複数のカテゴリIDで複数回実行すればよさそうです。
で、結果をソートして云々カンヌン。
σ(´^`)
ああ、もうだめ、さっぱりわかりません。
かといって、カテゴリを取得するとカテゴリIDの小さい方から取れるようなので、必ずしも目的に沿うカテゴリIDではありません。というわけで、ちょっと作戦変更して、親カテゴリIDを使ってタグキーワード抽出する作戦にしようと思います。
さて、続きはまた明日…。ちゃんと動くかな?
今日の一言二言三言
ついついね ひと手間かかる 道選ぶ
まあおもしろそう だからいいかな
もうちょっと定番っぽい進み方をすればいいものを、なんか、無用に苦労しているような気がしないでもないですが、読めなかったソースコードがなんとなくでも読めるようになってくるってのは楽しいですね!
WordPress/Gushでサイドバーにカテゴリ別タグクラウドを表示してみるとか。
SiSO-LABはWordPressに無料テーマのGushで運用しています。記事内容が雑多で収拾がつかないため、タグクラウド表示をカテゴリ別に表示することで少しでも見やすくならないか挑戦してみました。 |
Your Message